Skip to content

libera-programming/bayaz

Repository files navigation

Bayaz Build Status codecov

Bayaz looks maybe sixty, heavily built, with green eyes, a strong face, deeply lined, and a close-cropped grey beard around his mouth. He is entirely bald, with a tanned pate. He's neither handsome nor majestic, but there's something stern and wise about him. An assurance, an air of command. A man used to giving orders, and to being obeyed.

Features

  • Configuration
    • Multi-channel support
    • Granular feature flags to enable/disable specific functionality
  • Moderation
    • Admin registration/maintenance
    • Admins list output
    • Quiet/unquiet
      • Store reason
    • Ban/unban
      • Store reason
    • Kickban
      • Store reason
    • Kick
      • Store reason
    • Warn
      • Store reason
    • Note
      • Store reason
    • Admin history view for each nick
    • Timers for mode resets
      • Timers persist across bot restarts
    • Nick/host status lookup (ban/quiet)
    • Host/nick tracking
      • Use tracking db for admin operations
      • Nick/account/hostname queries using tracking db
    • +m mode (channel gets +m, ops get +o, everyone gets +v; we can then manually -v people)
    • !ops command to ping all admins
    • Spam detection
      • Automatic quiet after X messages in Y seconds
      • Automatic quiet after pinging more than N nicks in one message
      • Automatic quiet after using certain words
      • Automatic ignore after receiving X DMs in Y seconds
  • URL lookup
    • Title lookup
    • Domain resolution
    • Content type
    • Content length (human readable)
    • Youtube (Title, duration)
    • Github (Short name, description, lang, stars, followers)
    • Twitter (Tweet, retweets, likes)
    • Protections
      • Socket timeout
      • Download timeout
      • Max streaming download size
      • Max redirect amount
      • Graceful parsing of partial and invalid HTML
      • Graceful parsing of junk in headers
      • Strip out whitespace
  • General Protections
    • Ignore messages from self
    • Limit output to fixed amount (both lines and overall size)
  • Clojure eval
    • Protections
      • Time limit
      • Process isolation
      • Limited Clojure interpreter (SCI)

User documentation

Public operations

Command Aliases Usage Action
bayaz !bayaz Share a link to bayaz's source repo.
ops !ops Output a list of channel ops.

Admin operations

Command Aliases Usage Action
warn w !w <nick> [reason] Show a public warning to the nick.
warnall wa !wa [reason] Show a public warning to the channel.
quiet q,+q !q <target> [reason] Set mode +q on the target.
unquiet uq,-q !uq <target> [reason] Set mode -q on the target.
ban b,+b !b <target> [reason] Set mode +b on the target.
unban ub,-b !ub <target> [reason] Set mode -b on the target.
note n !n <target> [reason] Store a note/reminder in the admin history for the target.
kick k !k <nick> [reason] Remove the nick from the channel.
kickban kb !kb <nick> [reason] Remove the nick from the channel and set mode +b.
history h !h <nick> Output the admin history for a nick.
deephistory dh !dh <nick> Fetch all related hostnames for target and all history admin associated with them.
whois who !who <target> Fetch all nicks and accounts used by the latest hostname for the target.
deepwhois dwho !dwho <target> Fetch all nicks, accounts, and hostnames related to the target. Results go to a gist.

TODO

About

Bayaz, the First of the Magi, is an enigmatic ancient wizard with eyes and ears seemingly everywhere.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors